package com.hhkj.study.api.user.common.enums;

import cn.hutool.core.util.ObjectUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 登录来源 枚举
 * @Author luowu
 * @Date 2024/6/28 涵 14:31:50
 */
@Getter
@AllArgsConstructor
public enum SourceTypeEnum {

    /**
     * pc端
     */
    WEB(1, "pc", "web端"),

    /**
     * 小程序
     */
    WECHAT_MINI_PROGRAM(2, "mini","微信小程序"),
    /**
     * 微信扫码
     */
    WECHAT_SCAN(2, "wxScan","微信扫码"),

    ;

    /**
     * 登录来源码
     */
    private Integer code;

    /**
     * 来源标识 主要是生成token
     */
    private String flag;

    /**
     * 描述
     */
    private String desc;

    /**
     * 根据code获取枚举
     * @param code
     * @return
     */
    public static String getByCode(Integer code) {
        if (ObjectUtil.isNull(code)) {
            return WEB.getFlag();
        }
        for (SourceTypeEnum sourceTypeEnum : SourceTypeEnum.values()) {
            if (sourceTypeEnum.getCode().equals(code)) {
                return sourceTypeEnum.getFlag();
            }
        }
        return WEB.getFlag();
    }
}
